Systems and methods for adaptive range of motion for solar trackers

ABSTRACT

A system including a tracker configured to collect solar irradiance and attached to a rotational mechanism for changing a plane of the tracker and a controller in communication with the rotational mechanism. The controller is programmed to store a plurality of positional and solar tracking information, determine a position of the sun at a first specific point in time, calculate a first angle for the tracker based on the position of the sun, detect an amount of accumulation at the first specific point in time, determine a first maximum range of motion for the tracker based on the amount of accumulation, adjust the first angle for the tracker based on the first maximum range of motion for the tracker, and transmit instructions to the rotational mechanism to change the plane of the tracker to the first adjusted angle.

FIELD

The field relates generally to tracking systems for adjusting solararrays or panels and, more specifically, to adjusting the range ofmotion for solar trackers to avoid ground accumulation.

BACKGROUND

Recently, the development of a variety of energy substitution such as, aclean energy source and environment friendly energy are emerging toreplace fossil fuels due to the shortage of fossil fuels, environmentalcontamination issues, etc. One of the solutions is to use solar energy.This type of solar energy use can be categorized into three types; oneof the types converts solar energy to heat energy and uses it forheating or boiling water. The converted heat energy can also be used tooperate a generator to generate electric energy. The second type is usedto condense sunlight and induce it into fiber optics which is then usedfor lighting. The third type is to directly convert light energy of thesun to electric energy using solar cells.

Solar trackers are groups of collection devices, such as solar modules.Some solar trackers are configured to follow the path of the sun tominimize the angle of incidence between incoming sunlight and the solartracker to maximize the solar energy collected. To face the suncorrectly, a program or device to track the sun is necessary. This iscalled a sunlight tracking system or tracking system. The method totrack the sunlight can generally be categorized as a method of using asensor or a method of using a program.

In terms of a power generation system using solar energy, a large numberof solar trackers are generally installed on a vast area of flat landand as two modules of solar trackers should not overlap each other, avast space of land is required. However, some weather conditions, suchas snow storms, sandstorms, and flooding may cause potentially dangerousconditions for the solar trackers, especially at the ends of the solartracker's range of motion.

This Background section is intended to introduce the reader to aspectsof art that may be related to various aspects of the present disclosure,which are described and/or claimed below. This discussion is believed tobe helpful in providing the reader with background information tofacilitate a better understanding of the various aspects of the presentdisclosure. Accordingly, it should be understood that these statementsare to be read in this light, and not as admissions of prior art.

BRIEF DESCRIPTION

In some aspects, a system is provided. The system includes a trackerattached to a rotational mechanism for changing a plane of the tracker.The tracker is configured to collect solar irradiance. The system alsoincludes a controller in communication with the rotational mechanism.The controller includes at least one processor in communication with atleast one memory device. The at least one processor is programmed tostore, in the at least one memory device, a plurality of positional andsolar tracking information. The at least one processor is alsoprogrammed to determine a position of the sun at a first specific pointin time. The at least one processor is further programmed to calculate afirst angle for the tracker based on the position of the sun and theplurality of positional and solar tracking information. In addition, theat least one processor is programmed to detect an amount of accumulationat the first specific point in time. Moreover, the at least oneprocessor is programmed to determine a first maximum range of motion forthe tracker based on the amount of accumulation. Furthermore, the atleast one processor is programmed to adjust the first angle for thetracker based on the first maximum range of motion for the tracker. Inaddition, the at least one processor is also programmed to transmitinstructions to the rotational mechanism to change the plane of thetracker to the first adjusted angle.

In other aspects, a method for operating a tracker is provided. Themethod is implemented by at least one processor in communication with atleast one memory device. The method includes storing, in the at leastone memory device, a plurality of positional and solar trackinginformation. The method also includes determining a position of the sunat a first specific point in time. The method further includescalculating a first angle for a tracker based on the position of the sunand the plurality of positional and solar tracking information. Inaddition, the method includes detecting an amount of accumulation at thefirst specific point in time. Moreover, the method includes determininga first maximum range of motion for the tracker based on the amount ofaccumulation. Furthermore, the method includes adjusting the first anglefor the tracker based on the first maximum range of motion for thetracker. In addition, the method also includes transmitting instructionsto change the plane of the tracker to the first adjusted angle.

In still further aspects, a controller for a tracker is provided. Thecontroller includes at least one processor in communication with atleast one memory device. The at least one processor is programmed tostore, in the at least one memory device, a plurality of positional andsolar tracking information for determining an angle for the trackerbased on a position of the sun. The at least one processor is alsoprogrammed to determine a position of the sun at a first specific pointin time. The at least one processor is further programmed to calculate afirst angle for the tracker based on the position of the sun and theplurality of positional and solar tracking information. In addition, theat least one processor is programmed to detect an amount of accumulationat the first specific point in time. Moreover, the at least oneprocessor is programmed to determine a first maximum range of motion forthe tracker based on the amount of accumulation. Furthermore, the atleast one processor is programmed to adjust the first angle for thetracker based on the first maximum range of motion for the tracker. Inaddition, the at least one processor is also programmed to transmitinstructions to change the plane of the tracker to the first adjustedangle.

Various refinements exist of the features noted in relation to theabove-mentioned aspects. Further features may also be incorporated inthe above-mentioned aspects as well. These refinements and additionalfeatures may exist individually or in any combination. For instance,various features discussed below in relation to any of the illustratedembodiments may be incorporated into any of the above-described aspects,alone or in any combination.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a solar module of a solar tracker.

FIG. 2 is a cross-sectional view of the solar module taken along lineA-A of FIG. 1 .

FIG. 3 is a side view of a solar tracker in an example of the presentdisclosure.

FIG. 4 illustrates an example system for performing adaptive range ofmotion for the solar tracker example shown in FIG. 3 .

FIG. 5 illustrates an example process for performing adaptive range ofmotion for the solar tracker shown in FIG. 3 using the system shown inFIG. 4 .

FIG. 6 illustrates an example configuration of a user computer deviceused to perform the process shown in FIG. 5 .

FIG. 7 illustrates an example configuration of the server system used toperform the process shown in FIG. 5 .

Corresponding reference characters indicate corresponding partsthroughout the drawings.

DETAILED DESCRIPTION

The systems and processes are not limited to the specific embodimentsdescribed herein. In addition, components of each system and eachprocess can be practiced independent and separate from other componentsand processes described herein. Each component and process also can beused in combination with other assembly packages and processes.

FIG. 1 is a perspective view of a solar module 100 of a solar tracker.FIG. 2 is a cross-sectional view of the solar module 100 (shown in FIG.1 ) taken along line A-A of FIG. 1 .

The module 100 includes a top surface 106 and a bottom surface 108.Edges 110 extend between the top surface 106 and the bottom surface 108.Module 100 is rectangular shaped. In other embodiments, module 100 mayhave any shape that allows the module 100 to function as describedherein.

A frame 104 circumscribes and supports the module 100. The frame 104 iscoupled to the module 100, for example as shown in FIG. 2 . The frame104 protects the edges 110 of the module 100. The frame 104 includes anouter surface 112 spaced from one or more layers 116 of the module 100and an inner surface 114 adjacent to the one or more layers 116. Theouter surface 112 is spaced from, and substantially parallel to, theinner surface 114. The frame 104 may be made of any suitable materialproviding sufficient rigidity including, for example, metal or metalalloys, plastic, fiberglass, carbon fiber, and other material capable ofsupporting the module 100 as described herein. In some embodiments, theframe is made of aluminum, such as 6000 series anodized aluminum.

In the illustrated embodiment, the module 100 is a photovoltaic module.The module 100 has a laminate structure that includes a plurality oflayers 116. Layers 116 include, for example, glass layers,non-reflective layers, electrical connection layers, n-type siliconlayers, p-type silicon layers, backing layers, and combinations thereof.In other embodiments, the module 100 may have more or fewer layers 116than shown in FIG. 2 , including only one layer 116. The photovoltaicmodule 100 may include a plurality of photovoltaic modules with eachmodule made of photovoltaic cells.

In some embodiments, the module 100 is a thermal collector that heats afluid such as water. In such embodiments, the module 100 may includetubes of fluid which are heated by solar radiation. While the presentdisclosure may describe and show a photovoltaic module, the principlesdisclosed herein are also applicable to a solar module 100 configured asa thermal collector or sunlight condenser unless stated otherwise.

FIG. 3 is a side view of a tracker 300 in accordance with at least oneembodiment. The tracker 300 includes support columns 305, one or morerotational mechanisms 310, and a tracker panel 315. The tracker panel315 includes from one to a plurality of modules 100 (shown in FIG. 1 ).The tracker 300 (also known as a tracker row) controls the position ofthe plurality of modules 100 on the tracker panel 315. The rotationalmechanism 310 is configured to rotate the tracker panel 315 to differentangles θ 340 to track the sun as described herein. The trackercontroller 345 transmits instructions to the rotational mechanism 310 tochange the plane of the tracker 300. As used herein the plane of thetracker 300 is the top surface 106 (shown in FIG. 2 ) of the trackerpanel 315 (shown in FIG. 3 ). The rotational mechanism 310 rotates thetracker panel 315 along a single axis where a range of motion 332 forthe tracker panel 315 can include angles θ 340 from −60 degrees to 60degrees, where zero degrees is horizontal. Rotational mechanism 310 canbe any rotational mechanism 310 able to move the tracker panel 315between angles θ 340 as described herein. In FIG. 3 , the tracker panel315 is at −60 degrees. The rotational mechanism 310 can be capable ofmoving a single tracker panel 315, an entire row of tracker panels 315,or a group of tracker panels 315. In some embodiments, each tracker 300is associated with its own rotational mechanism 310. The rotationalmechanism 310 can include, but is not limited to, linear actuators andslew drives.

Tracker 300 is configured so that the top of the tracker 300 (measuredat the top of the support column 305) is positioned a height h 320 abovethe ground 318. The height h 320 is configured so that the tracker panel315 of the tracker 300 does not touch the ground 318 while traversingthe range of motion 332. To ensure that the tracker panel 315 does nottouch the ground 318 at the ends of the range of motion 332, the heighth 320 also includes a safety margin g 325. Safety margin g 325 ensuresthat the tracker panel 315 of the tracker 300 does not reach the ground318 when at the extremes of its range of motion 332.

In many solar assemblies, when there is an accumulation on the ground318, the tracker panel 315 of the tracker 300 is placed in thehorizontal position until the accumulation is removed. The accumulationcan include, but is not limited to, water, such as from flooding, snow,and sand. However, keeping the tracker panel 315 at a horizontalposition is not efficient for generating power. Furthermore while in thehorizontal position, the tracker panel 315 can also accumulate snow orsand, which then would cover up the modules 100 of the tracker panel 315and prevent the tracker 300 from working to collect solar irradiance.Furthermore, significant amounts of accumulation on the tracker panel315 of the tracker 300 in the horizontal position can overload thestructure and cause damage to the tracker panel 315, the support column305, and/or the rotational mechanism 310, for example.

The tracker 300 is in communication with a tracker controller 345. Thetracker controller 345 instructs the tracker 300 at which angle θ 340 toposition the tracker panel 315. The tracker controller 345 is programmedto determine the position of the sun and calculate the correspondingangle θ 340 of the tracker panel 315 in this embodiment. The trackercontroller 345 is programmed to ensure that the angle θ 340 of thetracker panel 315 is within the range of motion 332. The trackercontroller 345 can be in communication with and in control of a singletracker 300 or a plurality of trackers 300. The tracker controller 345can be in communication with and in control of all of the trackers 300in a row of trackers 300.

For each tracker 300, the tracker controller 345 provides solar trackingto maximize the solar irradiance collected by the tracker 300. Thetracker controller 345 determines the sun's position with respect to thecenter of the tracker 300. The tracker controller 345 stores thelatitude, longitude, and altitude of the tracker 300. In at least oneembodiment, the tracker controller 345 uses the National RenewableEnergy Lab's (NREL) equations to calculate the sun's position at anygiven point in time. In alternative embodiments, the tracker controller345 is in communication with one or more sensors 350 capable ofdetermining the sun's current position. The tracker controller 345 isprogrammed to maximize the energy yield for the tracker 300 byminimizing the angle between the sun vector and the normal vector of theplane of the tracker panel 315.

The tracker controller 345 instructs the rotational mechanism 310 toadjust the plane of the tracker panel 315 to be at angle θ 340, so thatthe plane of the tracker panel 315 does not deviate by more than +/−1while tracking the sun. In some embodiments, the tracker controller 345provides a step size to the angle θ 340 of the plane of the trackerpanel 315 of two degrees. This means that the tracker controller 345adjusts the plane of the tracker panel 315 for every two degrees the sunmoves. The tracker controller 345 can adjust the angle θ 340 of theplane of the tracker panel 315 by any amount, limited by the mechanicaltolerances of the tracker 300 and the rotational mechanism 310. In someembodiments, the tracker controller 345 instructs the rotationalmechanisms 310 to adjust each tracker panel 315 individually, wheredifferent tracker panels 315 in the same row may be adjusted todifferent angles θ 340. In other embodiments, the tracker controller 345instructs that all of the tracker panels 315 in a row should be adjustedto the same angle θ 340. In some further embodiments, the trackercontroller 345 may transmit instructions to trackers 300 in differentrows. For example, a tracker controller 345 may control trackers 300 intwo adjacent rows.

During conditions where there is accumulation on the ground 318, thetracker controller 345 can restrict the range of motion 332 of thetracker 300 to prevent the tracker panel 315 from being damaged. Inthese conditions, the tracker controller 345 determines the currentamount (or depth) of accumulation s 330. The tracker controller 345 candetermine the current amount of accumulation s 330 from sensor 350. Thesensor 350 can be associated with the individual tracker 300 or a groupof trackers 300. The sensor 350 is capable of detecting the currentamount of accumulation s 330. The sensor 350 can be, but is not limitedto, a snow sensor capable of determining the current amount of snowfallon the ground 318, a snow gauge, a sand gauge, an optical sensor capableof reading known markings to determine the depth of the accumulation, orany other sensor 350 that allows the tracker 300 to work as describedherein. The tracker controller 345 can also receive the amount ofaccumulation s 330 from a remote computer device.

The tracker controller 345 restricts the range of motion 332 of thetracker panel 315 of the tracker 300 to prevent the tracker panel 315 orany other part of the tracker 300 from becoming damaged while stillproviding solar tracking to maximize solar irradiance collected. Thetracker controller 345 can use the following equation to determine themaximum angle θ 340 for the tracker panel 315.

$\begin{matrix}{\theta = {\sin^{- 1}( \frac{h - s - g}{\frac{w}{2}} )}} & {{EQ}.\mspace{14mu} 1}\end{matrix}$where θ is the absolute value of the maximum angle θ 340, h is theheight h 320 of the tracker 300 at the top of the support column 305, gis the safety margin g 330, s is the amount of the accumulation s 330,and w is the width w 335 of the tracker panel 315 along the directionthat the tracker panel 315 rotates. The tracker controller 345 sets therange of motion 332 based on the calculated maximum angle θ 340.

The tracker controller 345 tracks the sun to know its position withrespect to the center of the tracker 300. The tracker controller 345 candetermine the center to be the center of an individual tracker 300, thecenter of a plurality of rows of trackers 300 (also known as an array),and the center of an entire site of trackers 300. To calculate the sun'sposition, the tracker controller 345 takes into account latitude,longitude, altitude, the exact date and time, and other parameters. Thetracker controller 345 can determine the sun's current position or thesun's position a point in time in the future. The tracker controller 345uses position of the sun to determine an angle θ 340 where the normalvector of the tracker panel 315 will be as close as possible to thesun's vector. The tracker controller 345 is programmed to adjust thetracker panel 315 when the sun has moved 2 degrees; therefore, thetracker controller 345 calculates the angle θ 340 for the tracker panel315 to be where the angle θ 340 is closest to the solar vector for thetime between adjustments. For example, if the sun vector is at −37degrees and the sun is rising, the tracker controller 345 can adjust thetracker panel 315 to be at −36 degrees. This provides the maximumcoverage while the sun travels from −37 degrees to −35 degrees. In otherexamples, the tracker controller 345 is programmed to adjust the trackerpanel 315 when a predetermined period of time has passed.

During the span of a day, the tracker panel 315 rotates, while followingthe sun, from −60 degrees to 60 degrees. However, in some situations,where there is accumulation on the ground 318, the tracker panel 315might not be able to safely traverse the entire range of motion 332, −60to 60 degrees.

FIG. 4 illustrates an example system 400 for performing adaptive rangeof motion 332 for the solar tracker 300 (both shown in FIG. 3 ), inaccordance with one example of the present disclosure. In the example,the system 400 is used for controlling trackers 300. The system 400 is atracker controlling computer system that includes at least one trackercontroller 345 configured to control the angle θ 340 of the trackerpanel 315 (both shown in FIG. 4 ) of a tracker 300. In some examples,the tracker controller 345 is programmed to control a plurality oftrackers 300 based on data received from one or more sensors 350.

Trackers 300 are configured to track the positon of the sun to collectsolar irradiance. As described herein, trackers 300 are associated witha rotational mechanism 310 which rotates the tracker panel 315 (bothshown in FIG. 3 ) of modules 100 (shown in FIG. 1 ) to track theposition of the sun. The tracker controller 345 ensures that the trackerpanel 315 is only positioned at angles θ 340 within the range of motion332 for that tracker. During periods of accumulation, the trackercontroller 345 determines the maximum angle θ 340 for the range ofmotion 332 for the tracker panel 315 may be turned to during solartracking using Equation 1.

In system 400, sensors 350 receive signals about the conditions aroundthe tracker 300. The sensors 350 can include, but are not limited to, asnow sensor capable of determining the current amount of snowfall on theground, a snow gauge, a sand gauge, an optical sensor capable of readingknown markings to determine the depth of the accumulation, or any othersensor 350 that allows the tracker 300 to work as described herein. Thesensors 350 can also include an optical sensor for detecting the currentposition of the sun. Sensors 350 connect to tracker controller 345through various wired or wireless interfaces including withoutlimitation a network, such as a local area network (LAN) or a wide areanetwork (WAN), dial-in-connections, cable modems, Internet connection,wireless, and special high-speed Integrated Services Digital Network(ISDN) lines. Sensors 350 receive data about the current conditions atthe location of the tracker 300. The sensors 350 can be associated withindividual trackers 300, an entire row of trackers 300, an entire arrayof trackers 300, and/or an entire site. In other examples, sensors 350are in communication with an array controller 405 and/or a sitecontroller 410, and the sensor information or data describing the sensorinformation is thereby transmitted to the tracker controller 345.

Array controllers 405 are computers that include a web browser or asoftware application, which enables array controller 405 to communicatewith one or more of tracker controller 345, another array controller405, and site controller 410 using the Internet, a local area network(LAN), or a wide area network (WAN). In some examples, the arraycontrollers 405 are communicatively coupled to the Internet through manyinterfaces including, but not limited to, at least one of a network,such as the Internet, a LAN, a WAN, or an integrated services digitalnetwork (ISDN), a dial-up-connection, a digital subscriber line (DSL), acellular phone connection, a satellite connection, and a cable modem.Array controllers 405 can be any device capable of accessing a network,such as the Internet, including, but not limited to, a desktop computer,a laptop computer, a personal digital assistant (PDA), a cellular phone,a smartphone, a tablet, a phablet, or other web-based connectableequipment. Array controllers 405 are computing devices for monitoring aplurality of tracker controllers 345 in communication with a pluralityof trackers 300.

Site controllers 410 are computers that include a web browser or asoftware application, which enables site controller 410 to communicatewith one or more of tracker controller 345, array controller 405, andclient system 425 using the Internet, a local area network (LAN), or awide area network (WAN). In some examples, the site controllers 410 arecommunicatively coupled to the Internet through many interfacesincluding, but not limited to, at least one of a network, such as theInternet, a LAN, a WAN, or an integrated services digital network(ISDN), a dial-up-connection, a digital subscriber line (DSL), acellular phone connection, a satellite connection, and a cable modem.Site controllers 410 can be any device capable of accessing a network,such as the Internet, including, but not limited to, a desktop computer,a laptop computer, a personal digital assistant (PDA), a cellular phone,a smartphone, a tablet, a phablet, or other web-based connectableequipment. Site controllers 410 are computing devices for monitoring aplurality of array controllers 405, which are each in communication witha plurality of tracker controllers 345. The site controller 410 and/orthe array controller 405 can provide information to the trackercontroller 345 such as, but not limited to, weather information,forecast information, sun position information, and other information toallow the tracker controller 345 to operate as described herein.

Client systems 425 are computers that include a web browser or asoftware application, which enables client systems 425 to communicatewith one or more of tracker controller 345, array controller 405, andsite controller 410 using the Internet, a local area network (LAN), or awide area network (WAN). In some examples, the client systems 425 arecommunicatively coupled to the Internet through many interfacesincluding, but not limited to, at least one of a network, such as theInternet, a LAN, a WAN, or an integrated services digital network(ISDN), a dial-up-connection, a digital subscriber line (DSL), acellular phone connection, a satellite connection, and a cable modem.Client systems 425 can be any device capable of accessing a network,such as the Internet, including, but not limited to, a desktop computer,a laptop computer, a personal digital assistant (PDA), a cellular phone,a smartphone, a tablet, a phablet, or other web-based connectableequipment. Client system 425 can provide information to the trackercontroller 345 such as, but not limited to, current accumulationamounts.

A database server 415 is communicatively coupled to a database 420 thatstores data. In one example, the database 420 is a database thatincludes, but is not limited to, the latitude, longitude, and altitudeof the site, the current time, range of motion 332, and the current sunposition based on the exact date, time, latitude, longitude, altitude,and other parameters. In some examples, the database 420 is storedremotely from the tracker controller 345. In some examples, the database420 is decentralized. In the example, a person can access the database420 via the client system 425 by logging onto one of tracker controller345, array controller 405, and site controller 410.

FIG. 5 illustrates an example process 500 for performing adaptive rangeof motion 332 for the solar tracker 300 (both shown in FIG. 3 ) usingthe system 400 (shown in FIG. 4 ). In this embodiment, process 500 isperformed by the tracking controller 345 (shown in FIG. 3 ). Process 500includes steps to ensure that the range of motion 332 of the tracker 300remains clear of any accumulation on the ground 318 (shown in FIG. 3 ).

The tracker controller 345 stores 505 a plurality of positional andsolar tracking information in at least one memory device, such asdatabase 420 (shown in FIG. 4 ). This information can include, but isnot limited to, the latitude, longitude, and altitude of the site, thecurrent time, range of motion 332, and the sun position based on exactdate, time, latitude, longitude, and altitude. The tracker controller345 determines 510 a position of the sun at a first specific point intime. The tracker controller 345 calculates 515 a first angle 340 (shownin FIG. 3 ) for the tracker 300 based on the position of the sun and theplurality of positional and solar tracking information.

The tracker controller 345 detects 520 an amount of accumulation s 330(shown in FIG. 3 ) at the first specific point in time. The amount ofaccumulation s 330 can be received from one or more sensors 350 (shownin FIG. 3 ) or a remote computer device, such as, array controller 405,site controller 410, and client system 425.

The tracker controller 345 determines 525 a first maximum range ofmotion 332 for the tracker 300 based on the amount of accumulation s330. The tracker controller 345 stores a tracker maximum range of motion332, the tracker maximum range of motion 332 is from −60 degrees to 60degrees. The tracker controller 345 determines 525 the first maximumrange of motion 332 based on a height h 320 of the tracker 300, theamount of accumulation s 330, a safety margin g 325, and a width w 335(all shown in FIG. 3 of the tracker 300. The first maximum range ofmotion 332 is more restrictive than the tracker maximum range of motion332. For example, the maximum range of motion 332 is −60 degree to 60degree, while the first maximum range of motion 332 is −56 degree to 56degrees due to the amount accumulation s 330 on the ground 318.

The tracker controller 345 adjusts 530 the first angle 340 for thetracker 300 based on the first maximum range of motion 332 for thetracker 300. The tracker controller 345 compares the first angle 340 tothe first maximum range of motion 332 to determine if the first angle340 exceeds the first maximum range of motion 332. If the first angle340 does exceed the first maximum range of motion 332, the trackercontroller 345 adjusts 530 the first angle 340 to be within the firstmaximum range of motion 332. For example, if the first maximum range ofmotion 332 is −47 to 47 degrees and the first angle 340 is 55 degrees,the first angle 340 is adjusted 530 to 47 degrees to be within the firstmaximum range of motion 332, while still having the normal vector of thetracker panel 315 as close as possible to the vector of the sun. If thefirst angle 340 is −30 degrees, then the tracker controller 345 does notadjust the first angle 340.

The tracker controller 345 transmits 535 instructions to the rotationalmechanism 310 (shown in FIG. 3 ) to change the plane of the tracker 300to the first adjusted angle 340. As used herein the plane of the tracker300 is the top surface 106 (shown in FIG. 2 ) of the tracker panel 315(shown in FIG. 3 ).

The tracker controller 345 determines a second position of the sun at asecond specific point in time. The tracker controller 345 calculates asecond angle 340 for the tracker 300 based on the position of the sunand the plurality of positional and solar tracking information. Thetracker controller 345 detects a second amount of accumulation s 330 atthe second specific point in time. The tracker controller 345 determinesa second maximum range of motion 332 for the tracker 300 based on thesecond amount of accumulation s 330. The tracker controller 345 adjuststhe second angle 340 for the tracker 300 based on the second maximumrange of motion 332 for the tracker 300. The tracker controller 345transmits instructions to the rotational mechanism 310 to change theplane of the tracker 300 to the second adjusted angle 340. For example,at a later point in time the amount of accumulation s 330 has changed(either increased or decreased), then the tracker controller 345 updatesthe range of motion 332 for the tracker 300 based on the new amount ofaccumulation s 330. The tracker controller 345 is constantly repeatingSteps 505 to 535 to ensure that the tracker panel 315 is kept clear ofthe accumulation on the ground 318.

The tracker controller 345 also repeats steps 505 to 535 to change theplane of the tracker 300 once the sun 315 has moved a predeterminedamount. The tracker controller 345 determines if a difference betweenthe position of the sun and the second position of the sun exceeds apredetermined threshold. This can be based on a change in angle of thesun or after a specific amount of time has passed. If the differenceexceeds the predetermined threshold, the tracker controller 345transmits instructions to the rotational mechanism 310 to change theplane of the tracker 300 to the second adjusted angle.

The tracker controller 345 can also determine if the amount ofaccumulation s 330 has changed over time. The tracker controller 345 candetect a second amount of accumulation s 330 at a second specific pointin time. The tracker controller 345 determines a second maximum range ofmotion 332 for the tracker 300 based on the second amount ofaccumulation s 330. The tracker controller 345 adjusts the first angle340 for the tracker 300 based on the second maximum range of motion 332for the tracker 300. The tracker controller 345 transmits instructionsto the rotational mechanism 310 to change the plane of the tracker 300to the first adjusted angle 340. The tracker controller 345 alsoinstructs the rotational mechanism 310 to change the plane of thetracker 300 to be horizontal when the amount of accumulation s 330exceeds the height h 320 of the tracker 300 minus the safety margin g325.

In some embodiments, the tracker controller 345 is in communication witha plurality of trackers 300 and instructs every tracker 300 in theplurality of trackers 300 to the first angle 340. Each tracker 300 ofthe plurality of trackers 300 includes a rotational mechanism 310 andthe tracker controller 345 transmits instructions to each of theplurality of rotational mechanisms 310 to change the plane of thecorresponding tracker 300 to the first angle 340. In alternativeembodiments, the rotational mechanism 310 is attached to each tracker300 of the plurality of trackers 300 and the tracker controller 345instructs the rotational mechanism 310 to change the plane of theplurality of trackers 300 to the first angle 340.

Process 500 can be performed dynamically in real time. Portions ofprocess 500 can also be performed in advance. For example, trackercontroller 345 can determine all of the angles 340 for a day based onknowing where the sun will be positioned at each moment in the day. Thentracker controller 345 can adjust 530 the angle for each moment of theday based on the amount of accumulation s 330 that exists at that momentof the day and how the range of motion 332 has changed for that tracker300. One or more of the steps of process 500 can also be performed bysite controller 410, array controller 405, and/or other computer devicesand the results can be provided to the tracker controller 345 to knowwhen to adjust the tracker 300 and what angle to adjust the tracker 300to.

FIG. 6 illustrates an example configuration of a user computer device602 used to perform the process 500 (shown in FIG. 5 ). User computerdevice 602 is operated by a user 601. The user computer device 602 caninclude, but is not limited to, the tracker controller 345, sensor 350(both shown in FIG. 3 ), the array controller 405, the site controller410, and the client system 424 (all shown in FIG. 4 ). The user computerdevice 602 includes a processor 605 for executing instructions. In someexamples, executable instructions are stored in a memory area 610. Theprocessor 605 can include one or more processing units (e.g., in amulti-core configuration). The memory area 610 is any device allowinginformation such as executable instructions and/or transaction data tobe stored and retrieved. The memory area 610 can include one or morecomputer-readable media.

The user computer device 602 also includes at least one media outputcomponent 615 for presenting information to the user 601. The mediaoutput component 615 is any component capable of conveying informationto the user 601. In some examples, the media output component 615includes an output adapter (not shown) such as a video adapter and/or anaudio adapter. An output adapter is operatively coupled to the processor605 and operatively coupleable to an output device such as a displaydevice (e.g., a cathode ray tube (CRT), liquid crystal display (LCD),light emitting diode (LED) display, or “electronic ink” display) or anaudio output device (e.g., a speaker or headphones). In some examples,the media output component 615 is configured to present a graphical userinterface (e.g., a web browser and/or a client application) to the user601. A graphical user interface can include, for example, an interfacefor viewing the performance information about a tracker 300 (shown inFIG. 3 ). In some examples, the user computer device 602 includes aninput device 620 for receiving input from the user 601. The user 601 canuse the input device 620 to, without limitation, select to view theperformance of a tracker 300. The input device 620 can include, forexample, a keyboard, a pointing device, a mouse, a stylus, a touchsensitive panel (e.g., a touch pad or a touch screen), a gyroscope, anaccelerometer, a position detector, a biometric input device, and/or anaudio input device. A single component such as a touch screen canfunction as both an output device of the media output component 615 andthe input device 620.

The user computer device 602 can also include a communication interface625, communicatively coupled to a remote device such as the sitecontroller 410. The communication interface 625 can include, forexample, a wired or wireless network adapter and/or a wireless datatransceiver for use with a mobile telecommunications network.

Stored in the memory area 610 are, for example, computer-readableinstructions for providing a user interface to the user 601 via themedia output component 615 and, optionally, receiving and processinginput from the input device 620. A user interface can include, amongother possibilities, a web browser and/or a client application. Webbrowsers enable users, such as the user 601, to display and interactwith media and other information typically embedded on a web page or awebsite from the tracker controller 345. A client application allows theuser 601 to interact with, for example, the tracker controller 345. Forexample, instructions can be stored by a cloud service, and the outputof the execution of the instructions sent to the media output component615.

The processor 605 executes computer-executable instructions forimplementing aspects of the disclosure. In some examples, the processor605 is transformed into a special purpose microprocessor by executingcomputer-executable instructions or by otherwise being programmed. Forexample, the processor 605 is programmed with instructions such as thoseshown in FIG. 5 .

FIG. 7 illustrates an example configuration of the server system used toperform the process 500 (shown in FIG. 5 . Server computer device 701can include, but is not limited to, the tracker controller 345 (shown inFIG. 3 ), the array controller 405, the site controller 410, and thedatabase server 415 (all shown in FIG. 4 ). The server computer device701 also includes a processor 705 for executing instructions.Instructions can be stored in a memory area 710. The processor 705 caninclude one or more processing units (e.g., in a multi-coreconfiguration).

The processor 705 is operatively coupled to a communication interface715 such that the server computer device 701 is capable of communicatingwith a remote device such as another server computer device 701, anothertracker controller 345, or the client system 425 (shown in FIG. 4 ). Forexample, the communication interface 715 can receive requests from theclient system 425 via the Internet, as illustrated in FIG. 4 .

The processor 705 can also be operatively coupled to a storage device734. The storage device 734 is any computer-operated hardware suitablefor storing and/or retrieving data, such as, but not limited to, dataassociated with the database 420 (shown in FIG. 4 ). In some examples,the storage device 734 is integrated in the server computer device 701.For example, the server computer device 701 may include one or more harddisk drives as the storage device 734. In other examples, the storagedevice 734 is external to the server computer device 701 and may beaccessed by a plurality of server computer devices 701. For example, thestorage device 734 may include a storage area network (SAN), a networkattached storage (NAS) system, and/or multiple storage units such ashard disks and/or solid state disks in a redundant array of inexpensivedisks (RAID) configuration.

In some examples, the processor 705 is operatively coupled to thestorage device 734 via a storage interface 720. The storage interface720 is any component capable of providing the processor 705 with accessto the storage device 734. The storage interface 720 can include, forexample, an Advanced Technology Attachment (ATA) adapter, a Serial ATA(SATA) adapter, a Small Computer System Interface (SCSI) adapter, a RAIDcontroller, a SAN adapter, a network adapter, and/or any componentproviding the processor 705 with access to the storage device 734.

The processor 705 executes computer-executable instructions forimplementing aspects of the disclosure. In some examples, the processor705 is transformed into a special purpose microprocessor by executingcomputer-executable instructions or by otherwise being programmed. Forexample, the processor 705 is programmed with instructions such as thoseshown in FIG. 5 .

Described herein are computer systems such as the tracker controller andrelated computer systems. As described herein, all such computer systemsinclude a processor and a memory. However, any processor in a computerdevice referred to herein may also refer to one or more processorswherein the processor may be in one computing device or a plurality ofcomputing devices acting in parallel. Additionally, any memory in acomputer device referred to herein may also refer to one or morememories wherein the memories may be in one computing device or aplurality of computing devices acting in parallel.

As used herein, a processor may include any programmable systemincluding systems using micro-controllers; reduced instruction setcircuits (RISC), application-specific integrated circuits (ASICs), logiccircuits, and any other circuit or processor capable of executing thefunctions described herein. The above examples are example only, and arethus not intended to limit in any way the definition and/or meaning ofthe term “processor.”

As used herein, the term “database” may refer to either a body of data,a relational database management system (RDBMS), or to both. As usedherein, a database may include any collection of data includinghierarchical databases, relational databases, flat file databases,object-relational databases, object-oriented databases, and any otherstructured collection of records or data that is stored in a computersystem. The above examples are example only, and thus are not intendedto limit in any way the definition and/or meaning of the term database.Examples of RDBMS' include, but are not limited to including, Oracle®Database, MySQL, IBM® DB2, Microsoft® SQL Server, Sybase®, andPostgreSQL. However, any database may be used that enables the systemsand methods described herein. (Oracle is a registered trademark ofOracle Corporation, Redwood Shores, Calif.; IBM is a registeredtrademark of International Business Machines Corporation, Armonk, N.Y.;Microsoft is a registered trademark of Microsoft Corporation, Redmond,Wash.; and Sybase is a registered trademark of Sybase, Dublin, Calif.)

In one embodiment, a computer program is provided, and the program isembodied on a computer-readable medium. In an example embodiment, thesystem is executed on a single computer system, without requiring aconnection to a server computer. In a further embodiment, the system isbeing run in a Windows® environment (Windows is a registered trademarkof Microsoft Corporation, Redmond, Wash.). In yet another embodiment,the system is run on a mainframe environment and a UNIX® serverenvironment (UNIX is a registered trademark of X/Open Company Limitedlocated in Reading, Berkshire, United Kingdom). The application isflexible and designed to run in various different environments withoutcompromising any major functionality. In some embodiments, the systemincludes multiple components distributed among a plurality of computingdevices. One or more components may be in the form ofcomputer-executable instructions embodied in a computer-readable medium.

As used herein, an element or step recited in the singular and proceededwith the word “a” or “an” should be understood as not excluding pluralelements or steps, unless such exclusion is explicitly recited.Furthermore, references to “example embodiment” or “one embodiment” ofthe present disclosure are not intended to be interpreted as excludingthe existence of additional embodiments that also incorporate therecited features.

As used herein, the terms “software” and “firmware” are interchangeable,and include any computer program stored in memory for execution by aprocessor, including RAM memory, ROM memory, EPROM memory, EEPROMmemory, and non-volatile RAM (NVRAM) memory. The above memory types areexample only, and are thus not limiting as to the types of memory usablefor storage of a computer program.

The methods and system described herein may be implemented usingcomputer programming or engineering techniques including computersoftware, firmware, hardware, or any combination or subset. As disclosedabove, at least one technical problem with prior systems is that thereis a need for systems for a cost-effective and reliable manner fordetermining a direction of arrival of a wireless signal. The system andmethods described herein address that technical problem. Additionally,at least one of the technical solutions to the technical problemsprovided by this system may include: (i) improved accuracy indetermining proper angles for solar trackers, (ii) reduced chance ofdamage to the tracker due to the amount of accumulation on the ground;(iii) increased solar irradiance collected during weather periods withaccumulation; (iv) up-to-date positioning of solar trackers based oncurrent conditions at the solar site; and (v) reduced downtime fortrackers based on weather conditions.

The methods and systems described herein may be implemented usingcomputer programming or engineering techniques including computersoftware, firmware, hardware, or any combination or subset thereof,wherein the technical effects may be achieved by performing at least oneof the following steps: a) store, in the at least one memory device, aplurality of positional and solar tracking information; b) determine aposition of the sun at a first specific point in time; c) calculate afirst angle for the tracker based on the position of the sun and theplurality of positional and solar tracking information; d) detect anamount of accumulation at the first specific point in time; e) determinea first maximum range of motion for the tracker based on the amount ofaccumulation; f) adjust the first angle for the tracker based on thefirst maximum range of motion for the tracker; g) transmit instructionsto the rotational mechanism to change the plane of the tracker to thefirst adjusted angle; h) determine a second position of the sun at asecond specific point in time; i) calculate a second angle for thetracker based on the position of the sun and the plurality of positionaland solar tracking information; j) detect a second amount ofaccumulation at the second specific point in time; k) determine a secondmaximum range of motion for the tracker based on the second amount ofaccumulation; l) adjust the second angle for the tracker based on thesecond maximum range of motion for the tracker; m) transmit instructionsto the rotational mechanism to change the plane of the tracker to thesecond adjusted angle; o) determine if a difference between the positionof the sun and the second position of the sun exceeds a predeterminedthreshold; p) if the difference exceeds the predetermined threshold,transmit instructions to the rotational mechanism to change the plane ofthe tracker to the second adjusted angle; q) determine if the firstangle exceeds the first maximum range of motion; r) adjust the firstangle to be within the first maximum range of motion; s) detect a secondamount of accumulation at a second specific point in time; t) determinea second maximum range of motion for the tracker based on the secondamount of accumulation; u) adjust the first angle for the tracker basedon the second maximum range of motion for the tracker; v) transmitinstructions to the rotational mechanism to change the plane of thetracker to the first adjusted angle; w) store a tracker maximum range ofmotion; v) determine the first maximum range of motion based on a heightof the tracker, the amount of accumulation, a safety margin, and a widthof the tracker, wherein the first maximum range of motion is morerestrictive than the tracker maximum range of motion, wherein thetracker maximum range of motion is from −60 degrees to 60 degrees, andwherein the tracker includes a tracker panel with a plurality ofmodules, wherein the rotational mechanism changes the plane of thetracking panel; and w) instruct the rotational mechanism to change theplane of the tracker to be horizontal when the amount of accumulationexceeds the height of the tracker minus the safety margin.

The computer-implemented methods discussed herein may includeadditional, less, or alternate actions, including those discussedelsewhere herein. The methods may be implemented via one or more localor remote processors, transceivers, servers, and/or sensors (such asprocessors, transceivers, servers, and/or sensors mounted on vehicles ormobile devices, or associated with smart infrastructure or remoteservers), and/or via computer-executable instructions stored onnon-transitory computer-readable media or medium. Additionally, thecomputer systems discussed herein may include additional, less, oralternate functionality, including that discussed elsewhere herein. Thecomputer systems discussed herein may include or be implemented viacomputer-executable instructions stored on non-transitorycomputer-readable media or medium.

As used herein, the term “non-transitory computer-readable media” isintended to be representative of any tangible computer-based deviceimplemented in any method or technology for short-term and long-termstorage of information, such as, computer-readable instructions, datastructures, program modules and sub-modules, or other data in anydevice. Therefore, the methods described herein may be encoded asexecutable instructions embodied in a tangible, non-transitory, computerreadable medium, including, without limitation, a storage device and/ora memory device. Such instructions, when executed by a processor, causethe processor to perform at least a portion of the methods describedherein. Moreover, as used herein, the term “non-transitorycomputer-readable media” includes all tangible, computer-readable media,including, without limitation, non-transitory computer storage devices,including, without limitation, volatile and nonvolatile media, andremovable and non-removable media such as a firmware, physical andvirtual storage, CD-ROMs, DVDs, and any other digital source such as anetwork or the Internet, as well as yet to be developed digital means,with the sole exception being a transitory, propagating signal.

Furthermore, as used herein, the term “real-time” refers to at least oneof the time of occurrence of the associated events, the time ofmeasurement and collection of predetermined data, the time to processthe data, and the time of a system response to the events and theenvironment. In the embodiments described herein, these activities andevents occur substantially instantaneously.

This written description uses examples to disclose the invention,including the best mode, and also to enable any person skilled in theart to practice the invention, including making and using any devices orsystems and performing any incorporated methods. The patentable scope ofthe invention is defined by the claims, and may include other examplesthat occur to those skilled in the art. Such other examples are intendedto be within the scope of the claims if they have structural elementsthat do not differ from the literal language of the claims, or if theyinclude equivalent structural elements with insubstantial differencesfrom the literal language of the claims.

What is claimed is:
 1. A system comprising: a tracker attached to arotational mechanism for changing a plane of the tracker, wherein thetracker is configured to collect solar irradiance; and a controller incommunication with the rotational mechanism, the controller comprisingat least one processor in communication with at least one memory device,wherein the at least one processor is programmed to: store, in the atleast one memory device, a plurality of positional and solar trackinginformation; determine a position of the sun at a first specific pointin time; calculate a first angle for the tracker based on the positionof the sun and the plurality of positional and solar trackinginformation; detect a height of accumulation of material on the groundat the first specific point in time; calculate a maximum angle for thetracker based on the height of accumulation of material on the ground atthe first specific point in time; determine a first maximum range ofmotion for the tracker that ranges from a positive value of the maximumangle for the tracker to a negative value for the maximum angle for thetracker, wherein the tracker will not intersect with the height ofmaterial on the ground within the first maximum range of motion; adjustthe first angle for the tracker based on the first maximum range ofmotion for the tracker to generate a first adjusted angle, wherein thefirst adjusted angle is within the first maximum range of motion for thetracker; and change the plane of the tracker to the first adjustedangle.
 2. The system in accordance with claim 1, wherein the at leastone processor is further programmed to maximize the energy yield for thetracker by minimizing the angle between the sun vector and the normalvector of the plane of the tracker.
 3. The system in accordance withclaim 1, wherein the at least one processor is further programmed to:determine a second position of the sun at a second specific point intime; calculate a second angle for the tracker based on the secondposition of the sun and the plurality of positional and solar trackinginformation; detect a second height of accumulation of material on theground at the second specific point in time; determine a second maximumrange of motion for the tracker based on the second height ofaccumulation of material on the ground, wherein the tracker will notintersect with the second height of material on the ground within thesecond maximum range of motion; adjust the second angle for the trackerbased on the second maximum range of motion for the tracker to generatea second adjusted angle, wherein the second adjusted angle is within thesecond maximum range of motion for the tracker; and change the plane ofthe tracker to the second adjusted angle.
 4. The system in accordancewith claim 3, wherein the at least one processor is further programmedto: determine if a difference between the position of the sun and thesecond position of the sun exceeds a predetermined threshold; and if thedifference exceeds the predetermined threshold, change the plane of thetracker to the second adjusted angle.
 5. The system in accordance withclaim 1, the at least one processor is further programmed to: determinea second position of the sun at a second specific point in time;calculate a second angle for the tracker based on the second position ofthe sun and the plurality of positional and solar tracking information,wherein the second angle is within the first maximum range of motion forthe tracker; and change the plane of the tracker to the second angle. 6.The system in accordance with claim 1, wherein the at least oneprocessor is further programmed to: detect a second height ofaccumulation of material on the ground at a second specific point intime; determine a second maximum range of motion for the tracker basedon the second height of accumulation of material on the ground, whereinthe tracker will not intersect with the second height of material on theground within the second maximum range of motion; and adjust the firstangle for the tracker based on the second maximum range of motion forthe tracker to generate a new first adjusted angle; and change the planeof the tracker to the new first adjusted angle.
 7. The system inaccordance with claim 1, wherein the at least one processor is furtherprogrammed to: store a tracker maximum range of motion; and determinethe first maximum range of motion based on a height of the tracker, theheight of accumulation of material on the ground, a safety margin, and awidth of the tracker, wherein the first maximum range of motion is morerestrictive than the tracker maximum range of motion.
 8. The system inaccordance with claim 7, wherein the tracker maximum range of motion isfrom −60 degrees to 60 degrees.
 9. The system in accordance with claim7, wherein the tracker includes a tracker panel with a plurality ofmodules, wherein the rotational mechanism changes the plane of thetracking panel.
 10. The system in accordance with claim 7, wherein theat least one processor is further programmed to instruct the rotationalmechanism to change the plane of the tracker to be horizontal when theheight of accumulation of material on the ground exceeds the height ofthe tracker minus the safety margin.
 11. A method for operating atracker, the method implemented by at least one processor incommunication with at least one memory device, the method comprises:storing, in the at least one memory device, a plurality of positionaland solar tracking information; determining a position of the sun at afirst specific point in time; calculating a first angle for a trackerbased on the position of the sun and the plurality of positional andsolar tracking information; detecting a height of accumulation ofmaterial on the ground at the first specific point in time; calculatinga maximum angle for the tracker based on the height of accumulation ofmaterial on the ground at the first specific point in time; determininga first maximum range of motion for the tracker that ranges from apositive value of the maximum angle for the tracker to a negative valuefor the maximum angle for the tracker, wherein the tracker will notintersect with the height of material on the ground within the firstmaximum range of motion; adjusting the first angle for the tracker basedon the first maximum range of motion for the tracker to generate a firstadjusted angle, wherein the first adjusted angle is within the firstmaximum range of motion for the tracker; and changing the plane of thetracker to the first adjusted angle.
 12. The method in accordance withclaim 11 further comprising maximizing the energy yield for the trackerby minimizing the angle between the sun vector and the normal vector ofthe plane of the tracker.
 13. The method in accordance with claim 11further comprising: determining a second position of the sun at a secondspecific point in time; calculating a second angle for the tracker basedon the second position of the sun and the plurality of positional andsolar tracking information; detecting a second height of accumulation ofmaterial on the ground at the second specific point in time; determininga second maximum range of motion for the tracker based on the secondheight of accumulation of material on the ground, wherein the trackerwill not intersect with the second height of material on the groundwithin the second maximum range of motion; adjusting the second anglefor the tracker based on the second maximum range of motion for thetracker to determine a second adjusted angle, wherein the secondadjusted angle is within the second maximum range of motion for thetracker; and changing the plane of the tracker to the second adjustedangle.
 14. The method in accordance with claim 13 further comprising:determining if a difference between the position of the sun and thesecond position of the sun exceeds a predetermined threshold; and if thedifference exceeds the predetermined threshold, changing the plane ofthe tracker to the second adjusted angle.
 15. The method in accordancewith claim 11 further comprising: determining a second position of thesun at a second specific point in time; calculating a second angle forthe tracker based on the second position of the sun and the plurality ofpositional and solar tracking information, wherein the second angle iswithin the first maximum range of motion for the tracker; and changingthe plane of the tracker to the second angle.
 16. The method inaccordance with claim 11 further comprising: storing a tracker maximumrange of motion; and determining the first maximum range of motion basedon a height of the tracker, the height of accumulation of material onthe ground, a safety margin, and a width of the tracker, wherein thefirst maximum range of motion is more restrictive than the trackermaximum range of motion.
 17. A controller for a tracker, the controllerincluding at least one processor in communication with at least onememory device, the at least one processor programmed to: store, in theat least one memory device, a plurality of positional and solar trackinginformation for determining an angle for the tracker based on a positionof the sun; determine a position of the sun at a first specific point intime; calculate a first angle for the tracker based on the position ofthe sun and the plurality of positional and solar tracking information;detect a height of accumulation of material on the ground at the firstspecific point in time; calculate a maximum angle for the tracker basedon the height of accumulation of material on the ground at the firstspecific point in time; determine a first maximum range of motion forthe tracker that ranges from a positive value of the maximum angle forthe tracker to a negative value for the maximum angle for the tracker,wherein the tracker will not intersect with the height of material onthe ground within the first maximum range of motion; adjust the firstangle for the tracker based on the first maximum range of motion for thetracker to generate a first adjusted angle, wherein the first adjustedangle is within the first maximum range of motion for the tracker; andchange the plane of the tracker to the first adjusted angle.
 18. Thecontroller in accordance with claim 17, wherein the at least oneprocessor is further programmed to maximize the energy yield for thetracker by minimizing the angle between the sun vector and the normalvector of the plane of the tracker panel.
 19. The controller inaccordance with claim 17, wherein the at least one processor is furtherprogrammed to: determine a second position of the sun at a secondspecific point in time; calculate a second angle for the tracker basedon the position of the sun and the plurality of positional and solartracking information; detect a second height of accumulation of materialon the ground at the second specific point in time; determine a secondmaximum range of motion for the tracker based on the second height ofaccumulation of material on the ground, wherein the tracker will notintersect with the second height of material on the ground within thesecond maximum range of motion; adjust the second angle for the trackerbased on the second maximum range of motion for the tracker to generatea second adjusted angle, wherein the second adjusted angle is within thesecond maximum range of motion for the tracker; and change the plane ofthe tracker to the second adjusted angle.
 20. The controller inaccordance with claim 19, wherein the at least one processor is furtherprogrammed to: determine if a difference between the position of the sunand the second position of the sun exceeds a predetermined threshold;and if the difference exceeds the predetermined threshold, change theplane of the tracker to the second adjusted angle.